package com.lixin.smartclassroom.api

import com.drake.net.Post
import com.lixin.smartclassroom.bean.BaoMingDto
import com.lixin.smartclassroom.bean.BaseBean
import com.lixin.smartclassroom.bean.BaseBeanDataList
import com.lixin.smartclassroom.bean.DataListBean
import com.lixin.smartclassroom.bean.EvaluationQuestionsDto
import com.lixin.smartclassroom.bean.FileBean
import com.lixin.smartclassroom.bean.NormalQuestionDto
import com.lixin.smartclassroom.bean.PiYueDto
import com.lixin.smartclassroom.bean.ProgressBean
import com.lixin.smartclassroom.bean.TopicListDto
import com.lixin.smartclassroom.bean.TopicListDto2
import com.lixinkeji.extension.toJson
import kotlinx.coroutines.CoroutineScope
import java.io.File

//上传图片
suspend fun CoroutineScope.uploadFile(
    file: File
): BaseBean {
    return Post<BaseBean>("uploadFile") {
        param("file", file)
    }.await()
}

//上传图片
suspend fun CoroutineScope.uploadFiles(
    files: ArrayList<File>
): BaseBean {
    return Post<BaseBean>("uploadFiles") {
        param("files", files)
    }.await()
}

//密码登录
suspend fun CoroutineScope.pwdLogin(phone: String, pwd: String, type: String): BaseBean {
    return Post<BaseBean>("my/customerlogin") {
        json("phone" to phone, "type" to type, "password" to pwd)
    }.await()
}

//家长注册
suspend fun CoroutineScope.register(phone: String, code: String, pwd: String): BaseBean {
    return Post<BaseBean>("my/register") {
        json("phone" to phone, "code" to code, "password" to pwd)
    }.await()
}

//获取个人信息
suspend fun CoroutineScope.customerdetail(): BaseBean {
    return Post<BaseBean>("my/customerdetail") {
        json("{}")
    }.await()
}

//修改个人信息
suspend fun CoroutineScope.updatecustomer(image: String): BaseBean {
    return Post<BaseBean>("my/updatecustomer") {
        json("image" to image)
    }.await()
}


//验证码登录
suspend fun CoroutineScope.phoneCodeLogin(phone: String, code: String): BaseBean {
    return Post<BaseBean>("my/customerloginbycode") {
        json("phone" to phone, "code" to code)
    }.await()
}

//获取验证码
suspend fun CoroutineScope.getCode(phone: String): BaseBean {
    return Post<BaseBean>("my/getCode") {
        json("phone" to phone)
    }.await()
}

//获取启动图列表
suspend fun CoroutineScope.beginimagelist(): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("home/beginimagelist") {
        json("{}")
    }.await().data
}

//重置密码
suspend fun CoroutineScope.forgotpassword(oldpassword: String, password: String): BaseBean {
    return Post<BaseBean>("my/forgotpassword") {
        json("oldpassword" to oldpassword, "password" to password)
    }.await()
}

//关于我们
suspend fun CoroutineScope.aboutUs(): BaseBean {
    return Post<BaseBean>("my/aboutus") {
        json("{}")
    }.await()
}

//平台介绍
suspend fun CoroutineScope.pingtaicontent(): BaseBean {
    return Post<BaseBean>("my/pingtaicontent") {
        json("{}")
    }.await()
}

//平台介绍
suspend fun CoroutineScope.agreement(id: String): BaseBean {
    return Post<BaseBean>("home/agreement") {
        json("id" to id)
    }.await()
}

//获取轮播图列表
suspend fun CoroutineScope.bannerlist(): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("home/bannerlist") {
        json("{}")
    }.await().data
}

//公告列表
suspend fun CoroutineScope.noticelist(
    pageNo: Int,
    pageSize: Int
): BaseBeanDataList<ArrayList<DataListBean>> {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("home/noticelist") {
        json("pageNo" to pageNo, "pageSize" to pageSize)
    }.await()
}

//公告列表
suspend fun CoroutineScope.noticedetail(nid: String): BaseBean {
    return Post<BaseBean>("home/noticedetail") {
        json("nid" to nid)
    }.await()
}

//点赞课程
suspend fun CoroutineScope.addLikeComment(
    courseid: String? = null,
    plid: String? = null
): BaseBean {
    return Post<BaseBean>("home/clickcourse") {
        json("courseid" to courseid, "plid" to plid)
    }.await()
}

//发布对课程评论
suspend fun CoroutineScope.addComment(courseid: String, content: String): BaseBean {
    return Post<BaseBean>("home/addpinglun") {
        json("courseid" to courseid, "content" to content)
    }.await()
}

//发布对课程评论
suspend fun CoroutineScope.jingcaidetail(jingcaiid: String): BaseBean {
    return Post<BaseBean>("home/jingcaidetail") {
        json("jingcaiid" to jingcaiid)
    }.await()
}

//发布对课程评论
suspend fun CoroutineScope.addjingcaifile(
    url: String,
    type: String,
    title: String? = null
): BaseBean {
    return Post<BaseBean>("my/addjingcaifile") {
        json("title" to title, "url" to url, "type" to type)
    }.await()
}

//获取精彩时刻
suspend fun CoroutineScope.jingcailist(
    pageNo: Int,
    pageSize: Int,
    type: String
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("home/jingcailist") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "type" to type)
    }.await().dataList
}


//获取课程列表
suspend fun CoroutineScope.courselist(
    pageNo: Int,
    pageSize: Int,
    type: String
): BaseBeanDataList<ArrayList<DataListBean>> {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("home/courselist") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "type" to type)
    }.await()
}

//课程详情
suspend fun CoroutineScope.coursedetail(
    courseid: String
): BaseBean {
    return Post<BaseBean>("home/coursedetail") {
        json("courseid" to courseid)
    }.await()
}

//获取课程评论列表
suspend fun CoroutineScope.coursepllist(courseid: String): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("home/coursepllist") {
        json("courseid" to courseid)
    }.await().dataList
}


//获取班级详细信息
suspend fun CoroutineScope.getmyclassdetail(classid: String): BaseBean {
    return Post<BaseBean>("my/getmyclassdetail") {
        json("classid" to classid)
    }.await()
}

//获取我的班级列表
suspend fun CoroutineScope.classlist(pageNo: Int, pageSize: Int): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/classlist") {
        json("pageNo" to pageNo, "pageSize" to pageSize)
    }.await().dataList
}

//获取我的班级列表
suspend fun CoroutineScope.myjoinclass(
    pageNo: Int,
    pageSize: Int,
    type: String
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/myjoinclass") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "type" to type)
    }.await().dataList
}

//获取班级学生列表
suspend fun CoroutineScope.classstudent(
    pageNo: Int,
    pageSize: Int,
    classid: String,
    type: String,
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/classstudent") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "classid" to classid, "type" to type)
    }.await().dataList
}

//获取班级学生做题列表
suspend fun CoroutineScope.classstudentdatijilu(
    pageNo: Int,
    pageSize: Int,
    classid: String,
    studentid: String,
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/classstudentdatijilu") {
        json(
            "pageNo" to pageNo,
            "pageSize" to pageSize,
            "classid" to classid,
            "studentid" to studentid
        )
    }.await().dataList
}


//编辑班级信息
suspend fun CoroutineScope.updateclass(title: String, image: String, classid: String): BaseBean {
    return Post<BaseBean>("my/updateclass") {
        json("title" to title, "image" to image, "classid" to classid)
    }.await()
}


//发布通知
suspend fun CoroutineScope.addclassnews(
    classid: String,
    title: String,
    content: String,
    image: String
): BaseBean {
    return Post<BaseBean>("my/addclassnews") {
        json("classid" to classid, "title" to title, "content" to content, "image" to image)
    }.await()
}

//获取通知详情
suspend fun CoroutineScope.getclassnews(calssnewsid: String): BaseBean {
    return Post<BaseBean>("my/getclassnews") {
        json("calssnewsid" to calssnewsid)
    }.await()
}

//加入班级
suspend fun CoroutineScope.joinclass(classcode: String): BaseBean {
    return Post<BaseBean>("my/joinclass") {
        json("classcode" to classcode)
    }.await()
}

//根据二维码获取班级信息
suspend fun CoroutineScope.getclassbycode(code: String): BaseBean {
    return Post<BaseBean>("my/getclassbycode") {
        json("code" to code)
    }.await()
}


//获取班级历史通知
suspend fun CoroutineScope.classhistorylist(
    classid: String,
    pageNo: Int,
    pageSize: Int
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/classhistorylist") {
        json("classid" to classid, "pageNo" to pageNo, "pageSize" to pageSize)
    }.await().dataList
}

//获取班级老师列表
suspend fun CoroutineScope.classteacher(
    pageNo: Int,
    pageSize: Int,
    type: String,
    classid: String
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/classteacher") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "type" to type, "classid" to classid)
    }.await().dataList
}

//精彩时刻列表
suspend fun CoroutineScope.jingcaishikelist(
    pageNo: Int,
    pageSize: Int,
    type: String
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/jingcaishikelist") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "type" to type)
    }.await().dataList
}

//修改精彩时刻
suspend fun CoroutineScope.updatejingcaifile(title: String, fildid: String): BaseBean {
    return Post<BaseBean>("my/updatejingcaifile") {
        json("title" to title, "fildid" to fildid)
    }.await()
}

//删除精彩时刻
suspend fun CoroutineScope.deletejingcai(fileid: String): BaseBean {
    return Post<BaseBean>("my/deletejingcai") {
        json("fileid" to fileid)
    }.await()
}

//删除精彩时刻
suspend fun CoroutineScope.yaoqingclasses(
    hudongcode: String,
    name: String,
    classesid: String
): BaseBean {
    return Post<BaseBean>("my/yaoqingclasses") {
        json("hudongcode" to hudongcode, "name" to name, "classesid" to classesid)
    }.await()
}

//根据互动码获取用户信息
suspend fun CoroutineScope.getcustomerdetailbycode(hudongcode: String): BaseBean {
    return Post<BaseBean>("my/getcustomerdetailbycode") {
        json("hudongcode" to hudongcode)
    }.await()
}


//资料库-文件夹列表
suspend fun CoroutineScope.folderlist(
    pageNo: Int,
    pageSize: Int,
    type: String,
    pid: String? = null
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/folderlist") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "type" to type, "pid" to pid)
    }.await().dataList
}

//创建文件夹
suspend fun CoroutineScope.createfolder(title: String, pid: String? = null): BaseBean {
    return Post<BaseBean>("my/createfolder") {
        json("title" to title, "pid" to pid)
    }.await()
}

//上传图片或视频
suspend fun CoroutineScope.shangchaunfile(
    folderid: String,
    filename: ArrayList<FileBean>
): BaseBean {
    return Post<BaseBean>("my/shangchaunfile") {
        json("folderid" to folderid, "filename" to filename.toJson())
    }.await()
}

//修改文件夹名称
suspend fun CoroutineScope.updatefolder(folderid: String, title: String): BaseBean {
    return Post<BaseBean>("my/updatefolder") {
        json("folderid" to folderid, "title" to title)
    }.await()
}

//修改文件
suspend fun CoroutineScope.updatefile(fileid: String, title: String): BaseBean {
    return Post<BaseBean>("my/updatefile") {
        json("fileid" to fileid, "title" to title)
    }.await()
}

//删除文件夹
suspend fun CoroutineScope.deletefolder(folderid: String): BaseBean {
    return Post<BaseBean>("my/deletefolder") {
        json("folderid" to folderid)
    }.await()
}

//删除文件
suspend fun CoroutineScope.deletefile(fileid: String): BaseBean {
    return Post<BaseBean>("my/deletefile") {
        json("fileid" to fileid)
    }.await()
}


//我创建的/我参与的
suspend fun CoroutineScope.zhktlist(
    pageNo: Int,
    pageSize: Int,
    type: String
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/zhktlist") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "type" to type)
    }.await().dataList
}

//活动智慧课堂管理
suspend fun CoroutineScope.zhkthuodong(): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/zhkthuodong") {
        json("{}")
    }.await().dataList
}

//活动智慧课堂管理
suspend fun CoroutineScope.huodongzhuti(): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/huodongzhuti") {
        json("{}")
    }.await().dataList
}

//活动智慧课堂管理
suspend fun CoroutineScope.huodongyanxue(): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/huodongyanxue") {
        json("{}")
    }.await().dataList
}

//获取评价题目
suspend fun CoroutineScope.getpingjiatimu(smallid: String): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/getpingjiatimu") {
        json("smallid" to smallid)
    }.await().dataList
}


//班级智慧课堂任务
suspend fun CoroutineScope.classzhktlist(
    pageNo: Int,
    pageSize: Int,
    classid: String,
    studentid: String?=null
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/classzhktlist") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "classid" to classid,"studentid" to studentid)
    }.await().dataList
}

//班级主题场馆列表
suspend fun CoroutineScope.classzhuticourselist(
    pageNo: Int,
    pageSize: Int,
    classid: String,
    studentid: String?=null
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/classzhuticourselist") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "classid" to classid,"studentid" to studentid)
    }.await().dataList
}

//研学列表
suspend fun CoroutineScope.yanxuecourselist(
    pageNo: Int,
    pageSize: Int,
    type: String
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/yanxuecourselist") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "type" to type)
    }.await().dataList
}

//主题场馆列表
suspend fun CoroutineScope.zhuticourselist(
    pageNo: Int,
    pageSize: Int,
    type: String,
    fenleiid: String,
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/zhuticourselist") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "type" to type, "fenleiid" to fenleiid)
    }.await().dataList
}

//添加课程
suspend fun CoroutineScope.addcourse(
    title: String,
    begintime: String,
    suoshuclass: String,
    courselable: String,
    coverimage: String
): BaseBean {
    return Post<BaseBean>("my/addcourse") {
        json(
            "title" to title,
            "begintime" to begintime,
            "suoshuclass" to suoshuclass,
            "courselable" to courselable,
            "coverimage" to coverimage
        )
    }.await()
}

//添加大章节
suspend fun CoroutineScope.addbigzhangjie(
    title: String,
    ifsee: String,
    courseid: String,
    type: String,
    jindu: String? = null,
    begintime: String? = null,
): BaseBean {
    return Post<BaseBean>("addbigzhangjie") {
        json(
            "title" to title,
            "ifsee" to ifsee,
            "courseid" to courseid,
            "type" to type,
            "jindu" to jindu,
            "begintime" to begintime
        )
    }.await()
}

//修改大章节
suspend fun CoroutineScope.updatebigzhangjie(
    title: String,
    ifsee: String,
    id: String,
    jindu: String? = null,
    begintime: String? = null,
): BaseBean {
    return Post<BaseBean>("updatebigzhangjie") {
        json(
            "title" to title,
            "ifsee" to ifsee,
            "id" to id,
            "jindu" to jindu,
            "begintime" to begintime,
        )
    }.await()
}

//添加小章节
suspend fun CoroutineScope.addsmallzhangjie(
    bigzjid: String,
    title: String,
    endtime: String,
    ifgroup: String,
    peoplecount: String,
    leixing: String,
    ifpingfen: String? = null,
    pingfennums: String? = null

): BaseBean {
    return Post<BaseBean>("addsmallzhangjie") {
        json(
            "bigzjid" to bigzjid,
            "title" to title,
            "endtime" to endtime,
            "ifgroup" to ifgroup,
            "peoplecount" to peoplecount,
            "leixing" to leixing,
            "ifpingfen" to ifpingfen,
            "pingfennums" to pingfennums
        )
    }.await()
}

//修改小章节
suspend fun CoroutineScope.updatesmallzhangjie(
    id: String,
    title: String,
    endtime: String,
    ifgroup: String,
    type: String? = null,
    leixing: String? = null,
    peoplecount: String? = null,
    ifpingfen: String? = null,
    pingfennums: String? = null

): BaseBean {
    return Post<BaseBean>("updatesmallzhangjie") {
        json(
            "id" to id,
            "title" to title,
            "endtime" to endtime,
            "ifgroup" to ifgroup,
            "leixing" to leixing,
            "type" to type,
            "peoplecount" to peoplecount,
            "ifpingfen" to ifpingfen,
            "pingfennums" to pingfennums,
        )
    }.await()
}


//添加常规题
suspend fun CoroutineScope.addcgtimu(
    smallid: String,
    type: String,
    nums: String,
    weidu: String,
    question: String,
    option: ArrayList<NormalQuestionDto>,
    ifright: String,
    rightbiaoshi: String,
    jiexi: String
): BaseBean {
    return Post<BaseBean>("addcgtimu") {
        json(
            "smallid" to smallid,
            "type" to type,
            "nums" to nums,
            "weidu" to weidu,
            "question" to question,
            "option" to option.toJson(),
            "ifright" to ifright,
            "rightbiaoshi" to rightbiaoshi,
            "jiexi" to jiexi
        )
    }.await()
}

//修改常规题目
suspend fun CoroutineScope.updatetimu(
    id: String,
    smallid: String,
    type: String,
    nums: String,
    weidu: String,
    question: ArrayList<NormalQuestionDto>,
    ifright: String,
    rightbiaoshi: String,
    jiexi: String
): BaseBean {
    return Post<BaseBean>("updatetimu") {
        json(
            "id" to id,
            "smallid" to smallid,
            "type" to type,
            "nums" to nums,
            "weidu" to weidu,
            "question" to question,
            "ifright" to ifright,
            "rightbiaoshi" to rightbiaoshi,
            "jiexi" to jiexi
        )
    }.await()
}

//添加评价题
suspend fun CoroutineScope.addpingjia(
    fenzhi: ArrayList<EvaluationQuestionsDto>,
    smallzj: String,
    question: String,
    answer: String
): BaseBean {
    return Post<BaseBean>("my/addpingjia") {
        json(
            "fenzhi" to fenzhi.toJson(),
            "smallzj" to smallzj,
            "question" to question,
            "answer" to answer
        )
    }.await()
}

//添加评价题
suspend fun CoroutineScope.updatepingjia(
    id: String,
    fenzhi: ArrayList<EvaluationQuestionsDto>,
    smallzj: String,
    question: String,
    answer: String
): BaseBean {
    return Post<BaseBean>("my/updatepingjia") {
        json(
            "id" to id,
            "fenzhi" to fenzhi,
            "smallzj" to smallzj,
            "question" to question,
            "answer" to answer
        )
    }.await()
}

//修改课程
suspend fun CoroutineScope.updatecourse(
    id: String,
    type: String,
    title: String,
    begintime: String,
    suoshuclass: String,
    courselable: String,
    coverimage: String
): BaseBean {
    return Post<BaseBean>("my/updatecourse") {
        json(
            "id" to id,
            "type" to type,
            "title" to title,
            "begintime" to begintime,
            "suoshuclass" to suoshuclass,
            "courselable" to courselable,
            "coverimage" to coverimage
        )
    }.await()
}

//发布课程
suspend fun CoroutineScope.fabucourse(
    id: String,
    state: String,
    type: String
): BaseBean {
    return Post<BaseBean>("my/fabucourse") {
        json(
            "id" to id,
            "state" to state,
            "type" to type
        )
    }.await()
}

//置顶课程
suspend fun CoroutineScope.addtop(
    id: String,
    state: String,
    type: String
): BaseBean {
    return Post<BaseBean>("my/addtop") {
        json(
            "id" to id,
            "state" to state,
            "type" to type
        )
    }.await()
}

//权限设置
suspend fun CoroutineScope.setquanxian(
    id: String,
    quanxian: String,
    type: String,
    customerid: String? = null
): BaseBean {
    return Post<BaseBean>("my/setquanxian") {
        json(
            "id" to id,
            "quanxian" to quanxian,
            "type" to type,
            "customerid" to customerid
        )
    }.await()
}

//删除课程
suspend fun CoroutineScope.deletecourse(
    courseid: String,
    type: String
): BaseBean {
    return Post<BaseBean>("my/deletecourse") {
        json(
            "courseid" to courseid,
            "type" to type
        )
    }.await()
}

//删除大章节
suspend fun CoroutineScope.deletebigzhangjie(
    id: String
): BaseBean {
    return Post<BaseBean>("my/deletebigzhangjie") {
        json(
            "id" to id
        )
    }.await()
}

//删除小章节
suspend fun CoroutineScope.deletesmallzhangjie(
    id: String
): BaseBean {
    return Post<BaseBean>("my/deletesmallzhangjie") {
        json(
            "id" to id
        )
    }.await()
}

//开启/关闭大章节
suspend fun CoroutineScope.openorclosezhangjie(
    id: String,
    state: String
): BaseBean {
    return Post<BaseBean>("my/openorclosezhangjie") {
        json(
            "id" to id,
            "state" to state
        )
    }.await()
}

//小组任务详情
suspend fun CoroutineScope.groupdetail(
    id: String
): BaseBean {
    return Post<BaseBean>("home/groupdetail") {
        json(
            "id" to id
        )
    }.await()
}

//所有分组
suspend fun CoroutineScope.coursegrouip(
    courseid: String,
    pageNo: Int,
    pageSize: Int
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/coursegrouip") {
        json(
            "courseid" to courseid,
            "pageNo" to pageNo,
            "pageSize" to pageSize
        )
    }.await().dataList
}

//课程批阅
suspend fun CoroutineScope.paperpiyue(
    courseid: String,
    state: String,
    pageNo: Int,
    pageSize: Int
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/paperpiyue") {
        json(
            "courseid" to courseid,
            "state" to state,
            "pageNo" to pageNo,
            "pageSize" to pageSize
        )
    }.await().dataList
}

//小组任务列表
suspend fun CoroutineScope.grouprenwulist(
    groupid: String,
    pageNo: Int,
    pageSize: Int
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/grouprenwulist") {
        json(
            "groupid" to groupid,
            "pageNo" to pageNo,
            "pageSize" to pageSize
        )
    }.await().dataList
}

//标签列表
suspend fun CoroutineScope.lablelist(): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/lablelist") {
        json("{}")
    }.await().data
}

//纬度列表
suspend fun CoroutineScope.weidulist(): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/weidulist") {
        json("{}")
    }.await().data
}

//大纲
suspend fun CoroutineScope.coursedagang(
    courseid: String,
    type: String,
    studentid: String? = null
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/coursedagang") {
        json("courseid" to courseid, "type" to type, "studentid" to studentid)
    }.await().dataList
}

//获取智慧课程详情
suspend fun CoroutineScope.zhcoursedetail(id: String, studentid: String? = null): BaseBean {
    return Post<BaseBean>("my/zhcoursedetail") {
        json("id" to id, "studentid" to studentid)
    }.await()
}

//主题场馆课程详情
suspend fun CoroutineScope.zhuticoursedetail(id: String, studentid: String? = null): BaseBean {
    return Post<BaseBean>("my/zhuticoursedetail") {
        json("id" to id, "studentid" to studentid)
    }.await()
}

//研学课程详情
suspend fun CoroutineScope.yanxuecoursedetail(id: String, studentid: String? = null): BaseBean {
    return Post<BaseBean>("my/yanxuecoursedetail") {
        json("id" to id, "studentid" to studentid)
    }.await()
}


//批阅试卷
suspend fun CoroutineScope.piyue(
    id: String,
    paperlist: ArrayList<PiYueDto>,
    smallid: String
): BaseBean {
    return Post<BaseBean>("my/piyue") {
        json(
            "smallid" to smallid,
            "paperlist" to paperlist.toJson(),
            "id" to id
        )
    }.await()
}

//老师添加点评
suspend fun CoroutineScope.adddianping(
    id: String,
    dianping: String? = null
): BaseBean {
    return Post<BaseBean>("my/adddianping") {
        json(
            "id" to id,
            "dianping" to dianping
        )
    }.await()
}


//新增研学课程
suspend fun CoroutineScope.addyanxuecourse(
    title: String,
    nandu: String,
    lable: String,
    option: String,
    begintime: String,
    baomingtime: String,
    coverimage: String
): BaseBean {
    return Post<BaseBean>("my/addyanxuecourse") {
        json(
            "title" to title,
            "nandu" to nandu,
            "lable" to lable,
            "option" to option,
            "begintime" to begintime,
            "baomingtime" to baomingtime,
            "coverimage" to coverimage
        )
    }.await()
}

//新增研学大章节
suspend fun CoroutineScope.addyanxuebigzhangjie(
    yanxueid: String,
    title: String,
    jindu: String,
    begintime: String
): BaseBean {
    return Post<BaseBean>("my/addyanxuebigzhangjie") {
        json(
            "yanxueid" to yanxueid,
            "title" to title,
            "jindu" to jindu,
            "begintime" to begintime
        )
    }.await()
}

//修改研学大章节
suspend fun CoroutineScope.updateyanxuebigzhangjie(
    bigzhangjieid: String,
    title: String,
    jindu: String,
    begintime: String
): BaseBean {
    return Post<BaseBean>("my/updateyanxuebigzhangjie") {
        json(
            "bigzhangjieid" to bigzhangjieid,
            "title" to title,
            "jindu" to jindu,
            "begintime" to begintime
        )
    }.await()
}

//新增研学小章节
suspend fun CoroutineScope.addyanxuesmallzhangjie(
    bigzjid: String,
    title: String,
    endtime: String,
    ifopenpingfen: String,
    ifqiandao: String,
    ifgroup: String,
    groupnum: String,
    type: String
): BaseBean {
    return Post<BaseBean>("my/addyanxuesmallzhangjie") {
        json(
            "bigzjid" to bigzjid,
            "title" to title,
            "endtime" to endtime,
            "ifopenpingfen" to ifopenpingfen,
            "ifqiandao" to ifqiandao,
            "ifgroup" to ifgroup,
            "groupnum" to groupnum,
            "type" to type
        )
    }.await()
}

//修改研学小章节
suspend fun CoroutineScope.updateyanxuesmallzhangjie(
    smallzjid: String,
    title: String,
    endtime: String,
    ifopenpingfen: String,
    ifqiandao: String,
    ifgroup: String,
    groupnum: String,
    type: String
): BaseBean {
    return Post<BaseBean>("my/updateyanxuesmallzhangjie") {
        json(
            "smallzjid" to smallzjid,
            "title" to title,
            "endtime" to endtime,
            "ifopenpingfen" to ifopenpingfen,
            "ifqiandao" to ifqiandao,
            "ifgroup" to ifgroup,
            "groupnum" to groupnum,
            "type" to type
        )
    }.await()
}

//修改研学课程
suspend fun CoroutineScope.updateyanxuecourse(
    id: String,
    title: String,
    nandu: String,
    lable: String,
    begintime: String,
    baomingtime: String,
    coverimage: String,
    type: String
): BaseBean {
    return Post<BaseBean>("my/updateyanxuecourse") {
        json(
            "id" to id,
            "title" to title,
            "nandu" to nandu,
            "lable" to lable,
            "begintime" to begintime,
            "baomingtime" to baomingtime,
            "coverimage" to coverimage,
            "type" to type
        )
    }.await()
}

//研学难度列表
suspend fun CoroutineScope.yanxuenandu(): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/yanxuenandu") {
        json("{}")

    }.await().data
}

//研学标签列表
suspend fun CoroutineScope.yanxuebiaoqian(): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/yanxuebiaoqian") {
        json("{}")

    }.await().data
}


//添加主题场馆
suspend fun CoroutineScope.addchangguan(
    title: String,
    begintime: String,
    suoshufenlei: String,
    suoshuclass: String,
    clouselable: String,
    yinzhangimage: String,
    coverimage: String
): BaseBean {
    return Post<BaseBean>("my/addchangguan") {
        json(
            "title" to title,
            "begintime" to begintime,
            "suoshufenlei" to suoshufenlei,
            "suoshuclass" to suoshuclass,
            "clouselable" to clouselable,
            "yinzhangimage" to yinzhangimage,
            "coverimage" to coverimage
        )
    }.await()
}

//修改主题场馆课程
suspend fun CoroutineScope.updatezhuticourse(
    id: String,
    title: String,
    begintime: String,
    suoshufenlei: String,
    suoshuclass: String,
    clouselable: String,
    yinzhangtype: String,
    coverimage: String,
    type: String
): BaseBean {
    return Post<BaseBean>("my/updatezhuticourse") {
        json(
            "id" to id,
            "title" to title,
            "begintime" to begintime,
            "suoshufenlei" to suoshufenlei,
            "suoshuclass" to suoshuclass,
            "clouselable" to clouselable,
            "yinzhangtype" to yinzhangtype,
            "coverimage" to coverimage,
            "type" to type
        )
    }.await()
}

//获取主题场馆分类
suspend fun CoroutineScope.getzhutitype(): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("home/getzhutitype") {
        json(
            "{}"
        )
    }.await().data
}

//获取主题场馆徽章列表
suspend fun CoroutineScope.huizhanglist(): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("home/huizhanglist") {
        json(
            "{}"
        )
    }.await().data
}
//我的徽章   主题场馆徽章列表
suspend fun CoroutineScope.huodehuizhanglist(): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("home/huodehuizhanglist") {
        json(
            "{}"
        )
    }.await().data
}

//获取主题场馆徽章列表
suspend fun CoroutineScope.getmyhuizhanglist(type:String): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/getmyhuizhanglist") {
        json(
            "type" to type
        )
    }.await().data
}


//家长查询学生
suspend fun CoroutineScope.searchcustomer(
    xhcode: String,
    hudongcode: String
): BaseBean {
    return Post<BaseBean>("my/searchcustomer") {
        json(
            "xhcode" to xhcode,
            "hudongcode" to hudongcode
        )
    }.await()
}

//根据互动码查询用户信息
suspend fun CoroutineScope.searchcustomerbyhudong(
    hudongcode: String,
    xiaojieid: String
): BaseBean {
    return Post<BaseBean>("my/searchcustomerbyhudong") {
        json(
            "hudongcode" to hudongcode,
            "xiaojieid" to xiaojieid
        )
    }.await()
}

//家长绑定学生
suspend fun CoroutineScope.bindcustomer(
    studentid: String
): BaseBean {
    return Post<BaseBean>("my/bindcustomer") {
        json(
            "studentid" to studentid
        )
    }.await()
}

//我绑定的学生
suspend fun CoroutineScope.bindstudentlist(
    pageNo: Int, pageSize: Int
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/bindstudentlist") {
        json("pageNo" to pageNo, "pageSize" to pageSize)
    }.await().dataList
}


//添加留言
suspend fun CoroutineScope.addliuyan(
    content: String,
    image: String,
    phone: String
): BaseBean {
    return Post<BaseBean>("my/addliuyan") {
        json(
            "content" to content,
            "image" to image,
            "phone" to phone
        )
    }.await()
}


//历史留言
suspend fun CoroutineScope.liulanlist(pageNo: Int, pageSize: Int): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/liulanlist") {
        json("pageNo" to pageNo, "pageSize" to pageSize)
    }.await().dataList
}

//消息列表
suspend fun CoroutineScope.getmessagelist(
    pageNo: Int,
    pageSize: Int
): BaseBeanDataList<ArrayList<DataListBean>> {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/getmessagelist") {
        json("pageNo" to pageNo, "pageSize" to pageSize)
    }.await()
}

//获取系统消息列表
suspend fun CoroutineScope.getxitongmessage(pageNo: Int, pageSize: Int): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/getxitongmessage") {
        json("pageNo" to pageNo, "pageSize" to pageSize)
    }.await().dataList
}

//课程消息列表
suspend fun CoroutineScope.getclasscoursemessage(
    pageNo: Int,
    pageSize: Int,
    type: String
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/getclasscoursemessage") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "type" to type)
    }.await().dataList
}

//消息数量
suspend fun CoroutineScope.getmessagecount(): BaseBean {
    return Post<BaseBean>("my/getmessagecount") {
        json("{}")
    }.await()
}

//获取消息详情
suspend fun CoroutineScope.messagedetail(id: String): BaseBean {
    return Post<BaseBean>("my/messagedetail") {
        json("id" to id)
    }.await()
}

//获取我的队伍详情
suspend fun CoroutineScope.getgroupdetail(xiaojie: String): BaseBean {
    return Post<BaseBean>("getgroupdetail") {
        json("xiaojie" to xiaojie)
    }.await()
}

//创建分组
suspend fun CoroutineScope.creategroup(xiaojieid: String, name: String, ids: String): BaseBean {
    return Post<BaseBean>("my/creategroup") {
        json("xiaojieid" to xiaojieid, "name" to name, "ids" to ids)
    }.await()
}

//移除小组成员
suspend fun CoroutineScope.deletegroupcustomer(groupid: String, cid: String): BaseBean {
    return Post<BaseBean>("my/deletegroupcustomer") {
        json("groupid" to groupid, "cid" to cid)
    }.await()
}

//创建分组
suspend fun CoroutineScope.submitpaper(
    topicList: ArrayList<TopicListDto>,
    paperid: String,
    uid: String
): BaseBean {
    return Post<BaseBean>("my/submitpaper") {
        json("topicList" to topicList.toJson(), "paperid" to paperid, "uid" to uid)
    }.await()
}

//创建分组
suspend fun CoroutineScope.submitpinglun(
    topicList: ArrayList<TopicListDto>,
    paperid: String,
    teacherid: String
): BaseBean {
    return Post<BaseBean>("my/submitpinglun") {
        json("topicList" to topicList.toJson(), "paperid" to paperid, "teacherid" to teacherid)
    }.await()
}

//问卷详情
suspend fun CoroutineScope.paperdetail(paperid: String): BaseBeanDataList<ArrayList<DataListBean>> {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/paperdetail") {
        json("paperid" to paperid)
    }.await()
}

//问卷调查列表
suspend fun CoroutineScope.paperlist(pageNo: Int, pageSize: Int): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/paperlist") {
        json("pageNo" to pageNo, "pageSize" to pageSize)
    }.await().dataList
}

//获取研学报名选项
suspend fun CoroutineScope.baomingoption(courseid: String): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/baomingoption") {
        json("courseid" to courseid)
    }.await().dataList
}

//获取研学报名选项
suspend fun CoroutineScope.yanxuebaominglist(): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/yanxuebaominglist") {
        json("{}")
    }.await().data
}

//小结答题记录
suspend fun CoroutineScope.canyushijuan(
    pageNo: Int,
    pageSize: Int,
    xiaojieid: String,
    studentid: String? = null
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/canyushijuan") {
        json(
            "pageNo" to pageNo,
            "pageSize" to pageSize,
            "xiaojieid" to xiaojieid,
            "studentid" to studentid
        )
    }.await().dataList
}

//获取小结题目
suspend fun CoroutineScope.gettimu(smallid: String): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/gettimu") {
        json("smallid" to smallid)
    }.await().dataList
}

//获取任务评论列表
suspend fun CoroutineScope.renwupllist(
    renwuid: String,
    pageNo: Int,
    pageSize: Int
): BaseBeanDataList<ArrayList<DataListBean>> {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("home/renwupllist") {
        json("renwuid" to renwuid, "pageNo" to pageNo, "pageSize" to pageSize)
    }.await()
}

//小结答题详情
suspend fun CoroutineScope.xiaojiepaperdetail(samllid: String): BaseBean {
    return Post<BaseBean>("my/xiaojiepaperdetail") {
        json("samllid" to samllid)
    }.await()
}

//提交试卷
suspend fun CoroutineScope.submittimu(
    smallid: String,
    topicList: ArrayList<TopicListDto2>
): BaseBean {
    return Post<BaseBean>("my/submittimu") {
        json("smallid" to smallid, "topicList" to topicList.toJson())
    }.await()
}

//添加研学报名信息
suspend fun CoroutineScope.addyanxuebaoming(
    courseid: String,
    baoming: ArrayList<BaoMingDto>,
    studentid: String?=null
): BaseBean {
    return Post<BaseBean>("my/addyanxuebaoming") {
        json("courseid" to courseid, "baoming" to baoming.toJson(),"studentid" to studentid)
    }.await()
}

//发布对任务的评价
suspend fun CoroutineScope.addrenwupinglun(
    renwuid: String,
    content: String,
    type: String
): BaseBean {
    return Post<BaseBean>("home/addrenwupinglun") {
        json("renwuid" to renwuid, "content" to content, "type" to type)
    }.await()
}

//任务点赞取消点赞
suspend fun CoroutineScope.clickrenwu(pinglunid: String): BaseBean {
    return Post<BaseBean>("home/clickrenwu") {
        json("pinglunid" to pinglunid)
    }.await()
}

//获取待批阅试卷详情
suspend fun CoroutineScope.shijuanxiangqing(smallid: String, id: String): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/shijuanxiangqing") {
        json("smallid" to smallid, "id" to id)
    }.await().dataList
}

//签到
suspend fun CoroutineScope.qiandao(xiaojieid: String, cid: String): BaseBean {
    return Post<BaseBean>("my/qiandao") {
        json("xiaojieid" to xiaojieid, "cid" to cid)
    }.await()
}

//查询是否签到
suspend fun CoroutineScope.searchqiandao(xiaojieid: String, cid: String): BaseBean {
    return Post<BaseBean>("my/searchqiandao") {
        json("xiaojieid" to xiaojieid, "cid" to cid)
    }.await()
}

//退出分组
suspend fun CoroutineScope.outgroup(groupid: String): BaseBean {
    return Post<BaseBean>("my/outgroup") {
        json("groupid" to groupid)
    }.await()
}

//创建研学分组
suspend fun CoroutineScope.createyanxuegroup(name: String, courseid: String): BaseBean {
    return Post<BaseBean>("my/createyanxuegroup") {
        json("name" to name, "courseid" to courseid)
    }.await()
}

//研学分组添加老师
suspend fun CoroutineScope.addteachers(groupid: String, cid: String, type: String): BaseBean {
    return Post<BaseBean>("my/addteachers") {
        json("groupid" to groupid, "cid" to cid, "type" to type)
    }.await()
}

//删除研学分组老师/学生
suspend fun CoroutineScope.delteacherorstudent(
    groupid: String,
    id: String,
    type: String
): BaseBean {
    return Post<BaseBean>("my/delteacherorstudent") {
        json("groupid" to groupid, "id" to id, "type" to type)
    }.await()
}

//根据研学课程获取分组
suspend fun CoroutineScope.yanxuegrouplist(
    courseid: String,
    pageNo: Int,
    pageSize: Int
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/yanxuegrouplist") {
        json("courseid" to courseid, "pageNo" to pageNo, "pageSize" to pageSize)
    }.await().dataList
}

//根据分组获取学生列表
suspend fun CoroutineScope.yanxuegroupstudent(
    groupid: String,
    pageNo: Int,
    pageSize: Int
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/yanxuegroupstudent") {
        json("groupid" to groupid, "pageNo" to pageNo, "pageSize" to pageSize)
    }.await().dataList
}

//根据分组获取学生列表
suspend fun CoroutineScope.canaddcustomer(
    yanxuecourseid: String,
    type: String
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/canaddcustomer") {
        json("yanxuecourseid" to yanxuecourseid, "type" to type)
    }.await().dataList
}

//根据分组获取学生列表
suspend fun CoroutineScope.searchloglist(): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("home/searchloglist") {
        json("{}")
    }.await().dataList
}

//搜索课程列表
suspend fun CoroutineScope.searchcourselist(
    searchname: String,
    type: String,
    pageNo: Int,
    pageSize: Int
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("home/searchcourselist") {
        json("searchname" to searchname, "type" to type, "pageNo" to pageNo, "pageSize" to pageSize)
    }.await().dataList
}

//学生最近参与活动
suspend fun CoroutineScope.zuijinstudent(
    pageNo: Int,
    pageSize: Int
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/zuijinstudent") {
        json("pageNo" to pageNo, "pageSize" to pageSize)
    }.await().dataList
}

//我孩子参与的智慧课堂
suspend fun CoroutineScope.mychildzhktlist(
    pageNo: Int,
    pageSize: Int, cid: String
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/mychildzhktlist") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "cid" to cid)
    }.await().dataList
}

//我孩子参与的智慧课堂
suspend fun CoroutineScope.childyanxuecourselist(
    pageNo: Int,
    pageSize: Int, cid: String
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/childyanxuecourselist") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "cid" to cid)
    }.await().dataList
}

//我孩子参与的智慧课堂
suspend fun CoroutineScope.childzhuticourselist(
    pageNo: Int,
    pageSize: Int, cid: String, fenleiid: String
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/childzhuticourselist") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "cid" to cid, "fenleiid" to fenleiid)
    }.await().dataList
}

//我孩子参与的智慧课堂
suspend fun CoroutineScope.childclasslist(
    pageNo: Int,
    pageSize: Int, cid: String
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/childclasslist") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "cid" to cid)
    }.await().dataList
}

//获取未签到处理列表
suspend fun CoroutineScope.banjiyichanglist(
    pageNo: Int,
    pageSize: Int, classid: String
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/banjiyichanglist") {
        json("pageNo" to pageNo, "pageSize" to pageSize, "classid" to classid)
    }.await().dataList
}


//处理签到信息
suspend fun CoroutineScope.chuliweiqiandao(id: String? = null): BaseBean {
    return Post<BaseBean>("home/chuliweiqiandao") {
        json("id" to id)
    }.await()
}

//删除消息
suspend fun CoroutineScope.deletemessage(mid: String? = null): BaseBean {
    return Post<BaseBean>("my/deletemessage") {
        json("mid" to mid)
    }.await()
}

//删除搜索记录
suspend fun CoroutineScope.delsearchlog(type: String, sid: String? = null): BaseBean {
    return Post<BaseBean>("home/delsearchlog") {
        json("type" to type, "sid" to sid)
    }.await()
}

//获取大章节信息
suspend fun CoroutineScope.getbigzhangjie(bigid: String): BaseBean {
    return Post<BaseBean>("my/getbigzhangjie") {
        json("bigid" to bigid)
    }.await()
}

//家长解绑学生
suspend fun CoroutineScope.unbindstudent(id: String): BaseBean {
    return Post<BaseBean>("my/unbindstudent") {
        json("id" to id)
    }.await()
}


//设置自动关闭时间
suspend fun CoroutineScope.shezhiguanbishijian(
    id: String,
    endtime: String,
    type: String
): BaseBean {
    return Post<BaseBean>("my/shezhiguanbishijian") {
        json("id" to id, "endtime" to endtime, "type" to type)
    }.await()
}

//开启/关闭小章节
suspend fun CoroutineScope.openorclosesmallzhangjie(id: String, state: String): BaseBean {
    return Post<BaseBean>("my/openorclosesmallzhangjie") {
        json("id" to id, "state" to state)
    }.await()
}

//评论老师表单
suspend fun CoroutineScope.pingjiabiaodan(): BaseBeanDataList<ArrayList<DataListBean>> {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/pingjiabiaodan") {
        json("{}")
    }.await()
}

//家长解绑学生
suspend fun CoroutineScope.huodongguanli(
    type: String, pageNo: Int,
    pageSize: Int
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/huodongguanli") {
        json("type" to type, "pageNo" to pageNo, "pageSize" to pageSize)
    }.await().dataList
}

//班级待批阅列表
suspend fun CoroutineScope.classpiyuelist(
    classid: String, type: String, pageNo: Int,
    pageSize: Int
): ArrayList<DataListBean>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/classpiyuelist") {
        json("classid" to classid, "type" to type, "pageNo" to pageNo, "pageSize" to pageSize)
    }.await().dataList
}

//获取评论信息
suspend fun CoroutineScope.getteacherpinglun(teacherid: String): BaseBeanDataList<ArrayList<DataListBean>> {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/getteacherpinglun") {
        json("teacherid" to teacherid)
    }.await()
}

//获取问卷调查详情
suspend fun CoroutineScope.getwenjuandetail(paperid: String): BaseBeanDataList<ArrayList<DataListBean>> {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/getwenjuandetail ") {
        json("paperid" to paperid)
    }.await()
}


//获取场馆分类得分
suspend fun CoroutineScope.getzhutilistsource(
    type: String,
    uid: String? = null
): BaseBeanDataList<ArrayList<DataListBean>> {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("home/getzhutilistsource ") {
        json("type" to type, "uid" to uid)
    }.await()
}

//获取主题场馆总得分
suspend fun CoroutineScope.getzhutisource(type: String, uid: String? = null): BaseBean {
    return Post<BaseBean>("my/getzhutisource") {
        json("type" to type, "uid" to uid)
    }.await()
}

//课程评论列表
suspend fun CoroutineScope.coursepinglunlist(
    courseid: String, pageNo: Int,
    pageSize: Int
): BaseBeanDataList<ArrayList<DataListBean>>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("my/coursepinglunlist") {
        json("courseid" to courseid, "pageNo" to pageNo, "pageSize" to pageSize)
    }.await()
}

//课程评论列表
suspend fun CoroutineScope.gettianshu(): BaseBeanDataList<ArrayList<ProgressBean>>? {
    return Post<BaseBeanDataList<ArrayList<ProgressBean>>>("home/gettianshu") {
        json("{}")
    }.await()
}

//设置课程是否同步
suspend fun CoroutineScope.setiftongbu(type: String, id: String, state: String): BaseBean {
    return Post<BaseBean>("my/setiftongbu") {
        json("type" to type, "id" to id, "state" to state)
    }.await()
}

//设置课程是否同步
suspend fun CoroutineScope.getcoursepeizhi(type: String, id: String): BaseBean {
    return Post<BaseBean>("my/getcoursepeizhi") {
        json("type" to type, "id" to id)
    }.await()
}


//获取班级可组队人员
suspend fun CoroutineScope.classstudentcangroup(classid: String, xiaojieid: String): BaseBeanDataList<ArrayList<DataListBean>>? {
    return Post<BaseBeanDataList<ArrayList<DataListBean>>>("home/classstudentcangroup") {
        json("classid" to classid, "xiaojieid" to xiaojieid)
    }.await()
}






















